package org.yoki.tool.core.bean;

import lombok.Data;

/**
 * Created by SunnyWen on 2017/6/27.
 */
@Data
public class ColumnTemplateBean {
    /**
     * table catalog (may be null)
     */
    private String tableCat ;
    /**
     * table schema (may be null)
     */
    private String tableScheme ;
    /**
     * table name
     */
    private String tableName ;
    /**
     * column name
     */
    private String columnName ;
    /**
     * SQL type from java.sql.Types
     */
    private int dataType ;
    /**
     * Data source dependent type name, for a UDT the type name is fully qualified
     */
    private String typeName ;
    /**
     * column size
     */
    private int columnSize ;
    /**
     * the number of fractional digits. <br>
     * Null is returned for data types where DECIMAL_DIGITS is not applicable.
     */
    private int decimalDigits ;
    /**
     * Radix (typically either 10 or 2)
     */
    private int numPrecRadix ;
    /**
     * is NULL allowed.<br>
     * columnNoNulls - might not allow NULL values <br>
     * columnNullable - definitely allows NULL values <br>
     * columnNullableUnknown - nullability unknown <br>
     */
    private int nullable ;
    /**
     * comment describing column (may be null)
     */
    private String remarks ;
    /**
     * default value for the column, which should be interpreted as a string when the value is enclosed in single quotes (may be null)
     */
    private String columnDef ;
    /**
     * for char types the maximum number of bytes in the column
     */
    private int charOctetLength ;
    /**
     * index of column in table (starting at 1)
     */
    private int ordinalPosition ;
    /**
     * ISO rules are used to determine the nullability for a column. <br>
     * YES --- if the column can include NULLs <br>
     * NO --- if the column cannot include NULLs
     * if the nullability for the column is unknown
     */
    private String isNullable ;
    /**
     * catalog of table that is the scope of a reference attribute (null if DATA_TYPE isn't REF)
     */
    private String scopeCatalog ;
    /**
     * schema of table that is the scope of a reference attribute (null if the DATA_TYPE isn't REF)
     */
    private String scopeSchema ;
    /**
     * table name that this the scope of a reference attribute (null if the DATA_TYPE isn't REF)
     */
    private String scopeTable ;
    /**
     * source type of a distinct type or user-generated Ref type, SQL type from java.sql.Types (null if DATA_TYPE isn't DISTINCT or user-generated REF)
     */
    private short sourceDataType ;
    /**
     * Indicates whether this column is auto incremented <br>
     * YES --- if the column is auto incremented <br>
     * NO --- if the column is not auto incremented <br>
     * empty string --- if it cannot be determined whether the column is auto incremented <br>
     */
    private String isAutoincrement ;
    /**
     * Indicates whether this is a generated column <br>
     * YES --- if this a generated column <br>
     * NO --- if this not a generated column <br>
     * empty string --- if it cannot be determined whether this is a generated column <br>
     */
    private String isGeneratedColumn ;


}
